/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Banco.Classes;

import Banco.DAO.alunoDAO;
import java.util.ArrayList;

/**
 *
 * @author Jorge Dantas
 *
 */
public class Aluno extends Usuario {

    private String matricula;
    private String celular;
    private String nome;
    private ArrayList<Turma> turmas = new ArrayList<Turma>();

   
    /**
     * Recupera aluno
     * @param matricula - Matricula
     * @return Aluno
     */
    public Aluno getAluno(String matricula) {
        alunoDAO alDAO = new alunoDAO();
        Aluno aluno = alDAO.getAluno(matricula);
        aluno.turmas = aluno.getTodasTurmas(matricula);
        return aluno;
    }

    /**
     * Recupera todas as turmas do aluno
     * @param matricula - Matricula
     * @return Todas as turmas referente ao aluno
     */
    public ArrayList<Turma> getTodasTurmas(String matricula) {
        alunoDAO alDAO = new alunoDAO();
        return alDAO.getTodasTurmas(matricula);
    }

    /**
     * Recupera celular
     * @return celular
     */
    public String getCelular() {
        return celular;
    }

    /**
     * Atribui celular
     * @param celular
     */
    public void setCelular(String celular) {
        this.celular = celular;
    }

    /**
     * Recupera matricula
     * @return matricula
     */
    public String getMatricula() {
        return matricula;
    }

    /**
     *  Atribui matricula
     * @param matricula
     */
    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    /**
     * Recupera nome
     * @return nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * Atribui nome
     * @param nome
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * Recupera todas as turmas em que o aluno está matriculado
     * @return Lista de todas as turmas em que o aluno está matriculado
     */
    public ArrayList<Turma> getTurmas() {
        return turmas;
    }

    /**
     * Atribui turmas
     * @param turmas
     */
    public void setTurmas(ArrayList<Turma> turmas) {
        this.turmas = turmas;
    }

    /**
     *  Atualiza aluno
     * @param aluno - Aluno a ser atualizado
     * @param matricula - Matricula do aluno que deve ser atualizado
     */
    public void updateAluno(Aluno aluno, String matricula) {
        alunoDAO alunoDao = new alunoDAO();
        alunoDao.updateAluno(aluno, matricula);
    }
}
